package com.hit.server.api.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;

/**
 * 机器人
 *
 * @author kehanjiang
 * @date 2025-04-03 17:24:22
 */
@Data
@TableName("robot")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "机器人")
public class RobotEntity extends Model<RobotEntity> {

 
	/**
	* id
	*/
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description="id")
    private Long id;

	/**
	* 绑定执行端（robot_client表ID字段）
	*/
    @Schema(description="绑定执行端（robot_client表ID字段）")
    private Long clientId;

	/**
	* 绑定换行车（robot_car表ID字段）
	*/
	@TableField(updateStrategy = FieldStrategy.ALWAYS)
    @Schema(description="绑定换行车（robot_car表ID字段）")
    private Long carId;

	/**
	* 归属分组（robot_group表ID字段）
	*/
	@TableField(updateStrategy = FieldStrategy.ALWAYS)
    @Schema(description="归属分组（robot_group表ID字段）")
    private Long groupId;

	/**
	 * 归属项目（sys_project表ID字段）
	 */
	@TableField(updateStrategy = FieldStrategy.ALWAYS)
	@Schema(description="归属项目（sys_project表ID字段）")
	private Long projectId;

	/**
	* 机器人名称
	*/
    @Schema(description="机器人名称")
    private String name;

	/**
	* 机器人序列号
	*/
    @Schema(description="机器人序列号")
    private String sn;

	/**
	* 创建人
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建人")
    private String createBy;

	/**
	* 创建时间
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建时间")
    private LocalDateTime createTime;

	/**
	* 修改人
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="修改人")
    private String updateBy;

	/**
	* 修改时间
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="修改时间")
    private LocalDateTime updateTime;

	/**
	* 删除标志：0-正常 1-删除
	*/
    @TableLogic
		@TableField(fill = FieldFill.INSERT)
    @Schema(description="删除标志：0-正常 1-删除")
    private String delFlag;
}